* xterm.c (xim_initialize): Always pass a copy of resource name
authorDmitry Antipov <dmantipov@yandex.ru>
Thu, 6 Mar 2014 11:18:22 +0000 (15:18 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Thu, 6 Mar 2014 11:18:22 +0000 (15:18 +0400)
commitf17a69fc60360d44f6853bba6c7187f9394740a0
treed4b5adbd569cf2de18fa5f835c618fa7b889b453
parentc0c3dbf000837b699329c461125ba227ac624429
* xterm.c (xim_initialize): Always pass a copy of resource name
to XRegisterIMInstantiateCallback and eassert whether return
value is True.  Passing copy is important because Xlib doesn't
make its own copy and resource name argument usually points to
SSDATA (Vx_resource_name), which may be changed from Lisp.
(xim_close_display): For XUnregisterIMInstantiateCallback,
always eassert return value and pass exactly the same values
as were used for XRegisterIMInstantiateCallback.  Otherwise
XUnregisterIMInstantiateCallback will always fail.  See Xlib
sources to check why if you are interested.
src/ChangeLog
src/xterm.c